<?php

namespace App\Kuafu\Order\Service;


class OrderTable
{

    public static function getTableName()
    {
        //TODO 自动获取类名
    }

    /**
     * 获取 订单分表表名
     *
     * @param int $shopId
     * @return string
     */
    public static function orderTableName($shopId): string
    {
        return 'order_' . str_pad((int)$shopId % 100, 3, 0, 0);
    }

    /**
     * 获取 订单详情分表表名
     *
     * @param int $shopId
     * @return string
     */
    public static function orderDetailTableName($shopId): string
    {
        return 'order_detail_' . str_pad((int)$shopId % 100, 3, 0, 0);
    }

    /**
     * 获取 订单优惠券 分表表名
     *
     * @param int $shopId
     * @return string
     */
    public static function orderCouponTableName($shopId): string
    {
        return 'order_coupon_' . str_pad((int)$shopId % 100, 3, 0, 0);
    }

    /**
     * 获取 订单 三方 优惠券 分表表名
     *
     * @param int $shopId
     * @return string
     */
    public static function orderCouponExtTableName($shopId): string
    {
        return 'order_coupon_external_' . str_pad((int)$shopId % 100, 3, 0, 0);
    }

    /**
     * 获取 订单优惠 分表表名
     *
     * @param int $shopId
     * @return string
     */
    public static function orderDiscountTableName($shopId): string
    {
        return 'order_discount_' . str_pad((int)$shopId % 100, 3, 0, 0);
    }

    /**
     * 获取 订单三方 分表表名
     *
     * @param int $shopId
     * @return string
     */
    public static function orderExternalTableName($shopId): string
    {
        return 'order_external_' . str_pad((int)$shopId % 100, 3, 0, 0);
    }

    /**
     * 获取 订单支付统计 分表表名
     *
     * @param $shopId
     * @return string
     */
    public static function orderPayUnionTableName($shopId): string
    {
        return 'order_pay_union_' . str_pad((int)$shopId % 100, 3, 0, 0);
    }

    /**
     * 获取 订单用户信息 分表表名
     *
     * @param $shopId
     * @return string
     */
    public static function orderUserInfoTableName($shopId): string
    {
        return 'order_user_info_' . str_pad((int)$shopId % 100, 3, 0, 0);
    }


}
